## Warning in cor(as.numeric(x[4:16]), as.numeric(x[17:29])): the standard
## deviation is zero
setwd("C:\\Users\\aniverb\\Documents\\Grad_School\\JHU\\700")

tv=read.table("trades_pivot_2016-11-18.txt", header=T) 
head(tv)
##   ProductName   Maturity       Date    X6    X7    X8    X9   X10   X11
## 1          6E 2016-06-13 2016-05-02  4743  4371 14131 19188 26520 10183
## 2          6E 2016-06-13 2016-05-03  7761  9281 23010 18470 27603 18569
## 3          6E 2016-06-13 2016-05-04  4065 10092 31111 16142 41140 12268
## 4          6E 2016-06-13 2016-05-05 11257  9318 17680 22189 30305 12814
## 5          6E 2016-06-13 2016-05-06  3582  4173 58424 29355 16648  7940
## 6          6E 2016-06-13 2016-05-09  4806  9660 12547  9459 14289  6987
##    X12   X13   X14  X15  X16 X17 X18 TimeToMaturity DayOfTheWeek
## 1 9504  5228  6112 2577 2616   0   0             42          Mon
## 2 8871 10705  7300 3884 2149  34   9             41          Tue
## 3 4785  4985  6424 2846 1784  15   0             40          Wed
## 4 7126  6431  4706 3802 1169   1   0             39          Thu
## 5 5493  6323 10189 4226 1304   1   0             38          Fri
## 6    0     0     0    0    0  16   0             35          Mon
##   DayofMonth DayTradeTotal
## 1          2        105173
## 2          3        137637
## 3          4        135657
## 4          5        126798
## 5          6        147658
## 6          9         57764
pv=read.table("trades_pivot_vol_2016-11-18.txt", header = T)
#tot vol is not actually vol for all prices in day, but for vol of hourly vol/sd
#sd(c(4.195,    2.388,  5.414,  15.202, 10.399, 2.44,   6.733,  3.743,  4.343,  1.836,  5.19,   0.0,    0.0)) #4.2
head(pv) 
##   ProductName   Maturity       Date    X6    X7     X8     X9    X10   X11
## 1          6E 2016-06-13 2016-05-02 4.195 2.388  5.414 15.202 10.399 2.440
## 2          6E 2016-06-13 2016-05-03 2.845 4.866  5.204  6.455 12.777 3.812
## 3          6E 2016-06-13 2016-05-04 2.709 5.932 11.152  7.811  9.139 4.576
## 4          6E 2016-06-13 2016-05-05 3.966 3.955  4.532  8.688  7.442 3.817
## 5          6E 2016-06-13 2016-05-06 3.432 1.998 19.902  8.070  8.105 2.980
## 6          6E 2016-06-13 2016-05-09 2.251 4.298  6.758  4.963  7.391 3.536
##     X12   X13   X14   X15   X16   X17   X18 DayVolatility
## 1 6.733 3.743 4.343 1.836 5.190 0.000 0.000      4.200597
## 2 6.492 2.912 6.776 1.797 3.144 0.866 0.837      3.209426
## 3 2.625 3.157 3.281 2.045 2.589 0.354 0.000      3.356165
## 4 4.305 3.403 2.657 1.482 1.047 0.000 0.000      2.581969
## 5 2.001 5.503 4.956 1.861 1.606 0.000 0.000      5.289063
## 6 0.000 0.000 0.000 0.000 0.000 0.635 0.000      2.782648
tv_pv_comb=cbind(tv[,1:16], pv[,4:16])
head(tv_pv_comb)
##   ProductName   Maturity       Date    X6    X7    X8    X9   X10   X11
## 1          6E 2016-06-13 2016-05-02  4743  4371 14131 19188 26520 10183
## 2          6E 2016-06-13 2016-05-03  7761  9281 23010 18470 27603 18569
## 3          6E 2016-06-13 2016-05-04  4065 10092 31111 16142 41140 12268
## 4          6E 2016-06-13 2016-05-05 11257  9318 17680 22189 30305 12814
## 5          6E 2016-06-13 2016-05-06  3582  4173 58424 29355 16648  7940
## 6          6E 2016-06-13 2016-05-09  4806  9660 12547  9459 14289  6987
##    X12   X13   X14  X15  X16 X17 X18    X6    X7     X8     X9    X10
## 1 9504  5228  6112 2577 2616   0   0 4.195 2.388  5.414 15.202 10.399
## 2 8871 10705  7300 3884 2149  34   9 2.845 4.866  5.204  6.455 12.777
## 3 4785  4985  6424 2846 1784  15   0 2.709 5.932 11.152  7.811  9.139
## 4 7126  6431  4706 3802 1169   1   0 3.966 3.955  4.532  8.688  7.442
## 5 5493  6323 10189 4226 1304   1   0 3.432 1.998 19.902  8.070  8.105
## 6    0     0     0    0    0  16   0 2.251 4.298  6.758  4.963  7.391
##     X11   X12   X13   X14   X15   X16   X17   X18
## 1 2.440 6.733 3.743 4.343 1.836 5.190 0.000 0.000
## 2 3.812 6.492 2.912 6.776 1.797 3.144 0.866 0.837
## 3 4.576 2.625 3.157 3.281 2.045 2.589 0.354 0.000
## 4 3.817 4.305 3.403 2.657 1.482 1.047 0.000 0.000
## 5 2.980 2.001 5.503 4.956 1.861 1.606 0.000 0.000
## 6 3.536 0.000 0.000 0.000 0.000 0.000 0.635 0.000
products=as.vector(unique(tv_pv_comb$ProductName))
for (product in products){
  tv_pv_combS=subset(tv_pv_comb, ProductName==product)
  maturities=as.vector(unique(tv_pv_combS$Maturity))
  for (maturity in maturities){
    tv_pv_combM=subset(tv_pv_combS, Maturity==maturity)
    trades=as.vector(as.matrix(t(tv_pv_combM[,4:16])))
    priceVol=as.vector(as.matrix(t(tv_pv_combM[,17:29])))
    plot(trades, priceVol, xlab="trade volume hourly", ylab="price volatility hourly", main=paste(product, "Maturity:", maturity), pch=20) #can't do yet for daily b/c of TotVol issue
    cors=apply(tv_pv_combM, 1, function(x){cor(as.numeric(x[4:16]), as.numeric(x[17:29]))})
    days=nrow(tv_pv_combM)
    plot(1:days, cors, xlab="Day", ylab="correlation coefficient", main=paste(product, "Maturity:", maturity)) 
  }
}